<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-15">
	<TITLE>PDE </TITLE>
	<META NAME="GENERATOR" CONTENT="OpenOffice.org 1.0.2  (Linux)">
	<META NAME="CREATED" CONTENT="20060127;14423900">
	<META NAME="CHANGED" CONTENT="20060127;16194100">
	<META NAME="DESCRIPTION" CONTENT="PDE ">
	<META NAME="KEYWORDS" CONTENT="main">
	<META NAME="resource-type" CONTENT="document">
	<META NAME="distribution" CONTENT="global">
	<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
	<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
	<!--Table of Child-Links-->
</HEAD>
<BODY LANG="fr-FR" BGCOLOR="#ffffff">
<P><A NAME="CHILD_LINKS"></A><STRONG>Subsections</STRONG> 
</P>
<UL>
	<LI><P STYLE="margin-bottom: 0cm"><A HREF="#SECTION00541100000000000000" NAME="tex2html3833">Library</A>
		</P>
	<LI><P STYLE="margin-bottom: 0cm"><A HREF="#SECTION00541200000000000000" NAME="tex2html3834">Description</A>
		</P>
	<LI><P STYLE="margin-bottom: 0cm"><A HREF="#SECTION00541300000000000000" NAME="tex2html3835">Dialog
	Box</A> 
	</P>
	<LI><P STYLE="margin-bottom: 0cm"><A HREF="#SECTION00541400000000000000" NAME="tex2html3836">Default
	properties</A> 
	</P>
	<LI><P STYLE="margin-bottom: 0cm"><A HREF="#SECTION00541500000000000000" NAME="tex2html3837">Interfacing
	function</A> 
	</P>
	<LI><P><A HREF="#SECTION00541600000000000000" NAME="tex2html3838">Computational
	function (type 12004)</A> 
	</P>
</UL>
<P STYLE="border-top: none; border-bottom: 1.10pt double #808080; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.05cm; padding-left: 0cm; padding-right: 0cm">
<!--End of Table of Child-Links--><BR><BR>
</P>
<H2><A NAME="SECTION00541000000000000000"></A><A NAME="PDE"></A><BR>PDE
</H2>
<P ALIGN=CENTER><!-- MATH
 $\epsfig{file=PDE.eps,width=90.00pt}$
 --><IMG SRC="../scilab-3.1.1/man/eng/scicos/img174.gif" NAME="Image1" ALT="\epsfig{file=PDE.eps,width=90.00pt}" ALIGN=BOTTOM WIDTH=143 HEIGHT=161 BORDER=0>
</P>
<H3><A NAME="SECTION00541100000000000000"></A><FONT COLOR="#0000ff">Library
</FONT>
</H3>
<P>PDETOOLBOX 
</P>
<H3><A NAME="SECTION00541200000000000000"></A><FONT COLOR="#0000ff">Description
</FONT>
</H3>
<P>This block is an implementation of several numerical schemes
(Finite Elements (1st and 2nd order), Finite Differences (1st and 2nd
order), Finite Volumes (1st order)) to solve mono dimensional PDE
(Partial Differential Equation) within SCICOS. The methematical
framwork was restricts in PDEs linear scalars with maximum order 2 in
time and space. The goal is to provide engineers and physicists with
an easy to use toolbox in SCICOS that will let them graphically
describe the PDE to be solved. A decision system selects the most
efficient numerical scheme depending on the type of the PDE and runs
the solvers. 
</P>
<H3><A NAME="SECTION00541300000000000000"></A><FONT COLOR="#0000ff">Dialog
Box </FONT>
</H3>
<CENTER>
	<TABLE WIDTH=943 BORDER=1 CELLPADDING=3 CELLSPACING=3>
		<COL WIDTH=165>
		<COL WIDTH=755>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER>Set PDE block parameters (IHM box) 
				</P>
			</TD>
			<TD WIDTH=755></TD>
		</TR>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER><B>a</B> and <B>b</B> 
				</P>
			</TD>
			<TD WIDTH=755>
				<P ALIGN=LEFT>(double) The two edges of the discretization field</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER>specification de l'EDP</P>
			</TD>
			<TD WIDTH=755>
				<P ALIGN=LEFT>check box to select the PDE operators</P>
				<P ALIGN=LEFT>ai(x), bi(t) (i=1:7) are the operator coefficients</P>
				<P ALIGN=LEFT>type of PDE discriminant (constant or variable, in
				the later case, the sign should be given)</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER>Discretization methode</P>
			</TD>
			<TD WIDTH=755>
				<P ALIGN=LEFT>choix (check box) : is the choice for the manual or
				the automatic mode</P>
				<P ALIGN=LEFT>type : in the manual mode we can give the method
				type (Finte differences, finite elements or finite volumes)</P>
				<P ALIGN=LEFT>degr&eacute; : method degre  (1 or 2 for the FD and
				FE methods, 1 for the FV method).</P>
				<P ALIGN=LEFT>Nombre de noeuds : to give the numbre of the nodal
				points 
				</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER>Conditions initiales</P>
			</TD>
			<TD WIDTH=755>
				<P ALIGN=LEFT>u(x,t0)=, du/dt at t0= : to give the initial
				conditions. 
				</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER>Conditions aux limites</P>
			</TD>
			<TD WIDTH=755>
				<P ALIGN=LEFT>type : two type of the boundray conditions are
				possible : Dirichlet or Neumann 
				</P>
				<P ALIGN=LEFT>expressions : to give then boundray conditions
				expressions</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER>Points de mesures</P>
			</TD>
			<TD WIDTH=755>
				<P ALIGN=LEFT>To give the list of mesurment points 
				</P>
			</TD>
		</TR>
		<TR>
			<TD WIDTH=165>
				<P ALIGN=CENTER>Name</P>
			</TD>
			<TD WIDTH=755>
				<P ALIGN=LEFT>A getvalue box to give the block name's</P>
			</TD>
		</TR>
	</TABLE>
</CENTER>
<H3><A NAME="SECTION00541400000000000000"></A><FONT COLOR="#0000ff">Default
properties </FONT>
</H3>
<UL>
	<LI><P STYLE="margin-bottom: 0cm">always active: yes 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">direct-feedthrough: no 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">zero-crossing: no 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">mode: no 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">number/sizes of inputs: -1 / -1 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">number/sizes of outputs: -1 / -1 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">number/sizes of activation inputs:
	0 / 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">number/sizes of activation
	outputs: 0 / 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">continuous-time state: yes 
	</P>
	<LI><P STYLE="margin-bottom: 0cm">discrete-time state: no 
	</P>
	<LI><P>name of computational function: <EM>nom_implicite</EM> 
	</P>
</UL>
<H3><A NAME="SECTION00541500000000000000"></A><FONT COLOR="#0000ff">Interfacing
function </FONT>
</H3>
<P><TT>SCI/EDP/macros/PDE.sci</TT> 
</P>
<H3><A NAME="SECTION00541600000000000000"></A><FONT COLOR="#0000ff">Computational
function (type 12004) </FONT>
</H3>
<P><BR><BR>
</P>
<PRE>#include &quot;scicos_block.h&quot;
#include 
 
void  exe_implicite(scicos_block *block,int flag)
{
 
 double **inptr = block-&gt;inptr;
 double **outptr = block-&gt;outptr;
 double *x = block-&gt;x;
 int nx = block-&gt;nx;
 double *xd = block-&gt;xd;
 double *res = block-&gt;res;
 int property[10];
 
 int i;
 double t = get_scicos_time();
 
 if (flag == 0){
   res[0]=inptr[2][0]-x[0];
   res[1]=inptr[1][0]-(-81*x[0]+162*x[1]-81*x[2])*inptr[0][0];
   res[2]=inptr[1][0]-(-81*x[1]+162*x[2]-81*x[3])*inptr[0][0];
   res[3]=inptr[1][0]-(-81*x[2]+162*x[3]-81*x[4])*inptr[0][0];
   res[4]=inptr[1][0]-(-81*x[3]+162*x[4]-81*x[5])*inptr[0][0];
   res[5]=inptr[1][0]-(-81*x[4]+162*x[5]-81*x[6])*inptr[0][0];
   res[6]=inptr[1][0]-(-81*x[5]+162*x[6]-81*x[7])*inptr[0][0];
   res[7]=inptr[1][0]-(-81*x[6]+162*x[7]-81*x[8])*inptr[0][0];
   res[8]=inptr[1][0]-(-81*x[7]+162*x[8]-81*x[9])*inptr[0][0];
   res[9]=inptr[3][0]-x[9];
 }else if (flag == 1){
   /* la premi&egrave;re sortie */ 
   for (i=0;i&lt;10;i++){
     outptr[0][i]=x[i];
   }
   /* la deuxi&egrave;me sortie */ 
   outptr[1][0]=x[4];
   outptr[1][1]=x[9];
 }else if (flag == 4){
/* }else if (flag == 5){ */
 }else if (flag == 7){
   property[0]=-1;
   property[1]=-1;
   property[2]=-1;
   property[3]=-1;
   property[4]=-1;
   property[5]=-1;
   property[6]=-1;
   property[7]=-1;
   property[8]=-1;
   property[9]=-1;
  set_pointer_xproperty(property);
 }
 return;
}</PRE><P STYLE="margin-bottom: 0cm">
<BR>
</P>
<HR>
<ADDRESS>EADS 2005-01-16 
</ADDRESS>
</BODY>
</HTML>